'use strict';

const log4js = require('log4js');
const logConfig = require('../config.json').logConfig;

/**
 * 日志配置
 */
exports.configure = function() {
    log4js.configure(logConfig);
}

/**
 * 暴露到应用的日志接口，调用该方法前必须确保已经configure过
 * 
 * @param {string}name 指定log4js配置文件中的category。依此找到对应的appender。
 *                     如果appender没有写上category，则为默认的category。可以有多个
 * @return {Logger}
 */
exports.logger = function(name) {
    var dateFileLog = log4js.getLogger(name);
    dateFileLog.setLevel(log4js.levels.INFO);
    return dateFileLog;
}

/**
 * 用于express中间件，调用该方法前必须确保已经configure过
 * 
 * @return {Function}
 */
exports.useLog = function() {
    return log4js.connectLogger(log4js.getLogger("app"), { level: log4js.levels.INFO });
} 